#include "fsl_common.h"
#include "fsl_iomuxc.h"
#include "MCIMX6Y2.h"

#include "bsp_delay.h"
#include "bsp_led.h"
#include "bsp_key.h"
#include "bsp_clk.h"
#include "bsp_beep.h"
#include "bsp_int.h"
#include "bsp_gpio.h"
 
uint8_t test_flag = 0;

void key_irqhandler(unsigned int giccIar, void *userParam)
{
    gpio_clearintflags(GPIO5,1);
    if(test_flag==0)
        test_flag=1;
    else 
        test_flag=0;
}

int main() 
{
    int_init();
    imx6ull_clock_init();
    clk_Init(); 
    led_Init();
    key_init();
    beep_init();
    
    GIC_EnableIRQ(GPIO5_Combined_0_15_IRQn);
    gpio_intconfig(GPIO5,1,kGPIO_IntRisingEdge);
    gpio_enableint(GPIO5,1);
    system_register_irqhandler(GPIO5_Combined_0_15_IRQn,key_irqhandler,NULL);
    while(1)
    {
        if(test_flag==1)
        {
            beep_ON();
            led_ON();
        }
        else
        {
            beep_OFF();
            led_OFF();
        }
        
    }

    return 0;
}